package com.ken.apollo.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 邮件发送方配置实体类
 *
 * @author Ken
 * @since 2025-08-25
 */
@Data
@TableName("mail_sender_config")
public class MailSenderConfig {
    
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 配置名称
     */
    private String configName;
    
    /**
     * SMTP服务器地址
     */
    private String smtpHost;
    
    /**
     * SMTP端口
     */
    private Integer smtpPort;
    
    /**
     * 发送方邮箱
     */
    private String senderEmail;
    
    /**
     * 发送方显示名称
     */
    private String senderName;
    
    /**
     * 邮箱密码或授权码
     */
    private String senderPassword;
    
    /**
     * 是否启用SSL：0-否，1-是
     */
    private Boolean sslEnable;
    
    /**
     * 是否启用TLS：0-否，1-是
     */
    private Boolean tlsEnable;
    
    /**
     * 是否需要认证：0-否，1-是
     */
    private Boolean authEnable;
    
    /**
     * 连接超时时间（毫秒）
     */
    private Integer connectionTimeout;
    
    /**
     * 读取超时时间（毫秒）
     */
    private Integer readTimeout;
    
    /**
     * 是否启用调试：0-否，1-是
     */
    private Boolean debugEnable;
    
    /**
     * 是否为默认配置：0-否，1-是
     */
    private Boolean isDefault;
    
    /**
     * 状态：0-禁用，1-启用
     */
    private Boolean status;
    
    /**
     * 配置描述
     */
    private String description;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}